En mi aplicación, a veces quiero definir "documento" para usar en querySelector como "tinymce.get('steps_html').contentAreaContainer.childNodes[0].contentWindow.document". Otras veces, quiero que "documento" tenga su significado habitual.
¿Hay alguna manera de configurar "documento" para que sea una variable? He intentado lo siguiente, ninguno de los cuales devuelve un elemento:
Definición de documento:
document = tinymce.get('steps_html').contentAreaContainer.childNodes[0].contentWindow.document; document.querySelector(myElement) // Returns nothingDefinición de un prefijo:
prefix = tinymce.get('steps_html').contentAreaContainer.childNodes[0].contentWindow; prefix.document.querySelector(myElement); //Returns nothingDefinición de un prefijo como texto:
prefix = "tinymce.get('steps_html').contentAreaContainer.childNodes[0].contentWindow; prefix.document.querySelector(myElement)"; //Returns nothing Solo tinymce.get('steps_html').contentAreaContainer.childNodes[0].contentWindow.document.querySelector(myElement) devuelve un elemento.
Encontré mi propia respuesta. Lo publicaré en caso de que alguien más se encuentre con esta publicación.
Primero, encuentre su iframe de TinyMCE Editor
var iframe = document.querySelector("#myDiv .tox-editor-container .tox-edit-area iframe");Luego obtén su contenido
var iframe_content = iframe.contentDocument;Luego puedes realizar tus consultas
var frame_li = iframe_content.querySelectorAll("#tinymce li");¿Has probado window.orig_document = window.document window.document = tinymce.get('steps_html').contentAreaContainer.childNodes[0].contentWindow.document window.document = window.document.orig_document